public class Object01 {
    public static void main(String[] args) {
        /*
        张老太太养了两只猫：一只名叫小白，今年3岁 ， 白色。一只名叫小花 ， 今年5岁 ，
         花色 。 编写一个程序，当用户输入小猫的名字时 ， 就显示小猫的名字 ， 年龄 ， 颜色。
         如果用户输入的小猫名错误，则显示 张老太没有这只猫。
        * */
        //方法一 ：用变量来解决（不利于数据的管理）
        String cat1Name = "小白";
        String cat2Name = "小花";

        int cat1Age = 3;
        int cat2Age = 5;

        String cat1Color = "白色";
        String cat2Color = "花色";

        //方法二 ：数组 ——》数据类型体现不出来 ；只能通过下标获取信息 ， 造成名字和内容的对应关系不明确 ， 不能体现猫的行为
        String[] cat1 = {"小白", "3", "白色"};
        String[] cat2 = {"小花", "5", "花色"};

        //方法三 ：类与对象
        //java 设计者引入类与对象（OOP） ， 根本原因就是现有技术 ，不能完美解决新的需求。
        /*
        * 首先我们需要把所有的猫的属性提取出来，那么猫的属性将会有 name age color behavior run cry eat...
        * 我们就可以创建一个 猫类 Cat （自定义数据类型） 把猫的属性整合到这个类当中
        *
        * 实例化一只猫[创建一只猫对象]
        *1. new Cat() 创建一只猫
        * 2. Cat cat1 = new Cat(); ---->把创建的猫赋给 cat1*/

        Cat cat3 = new Cat();
        cat3.name = "小白";
        cat3.age = 3;
        cat3.color = "白色";

        Cat cat4 = new Cat();
        cat4.name = "小花";
        cat4.age = 5;
        cat4.color = "花色";

        //如何使用（访问对象的属性呢）
        System.out.println("第一只猫的信息 : 名字" + cat3.name +" ，年龄" + cat3.age +"， 花色" + cat4.color);


    }

}
class Cat {
    String name;
    int age;
    String color;
}
/*类与对象的区别和联系
    通过以上的案例和讲解我们可以看出：
        类是抽象的、概念的，代表一类事物，比如人类猫类...，即他是数据类型。
        对象是具体的 ，实际的，代表一个具体事务，即实例。
        类是对象的模板 ， 对象是类的一个个体，对应一个实例。
* */
